Eggplant DAIモデル実行エンドポイント
管理者ユーザーは、DAI UIを通じてclient_idとclient_secretを持つAPIクライアントを生成することができます。
Eggplant DAIは、client_credentials
グラントタイプと共にOAuth 2.0認証プロトコルを使用し、REST APIへのアクセスを有効にします。このページでは、APIアクセスキーとシークレットを生成し、それらをトークンと交換し、そのトークンを使用して残りのDAI REST APIを呼び出す方法について説明します。例えば、実行APIを呼び出し、REST経由で実行の開始などの実行コントロールと対話するために使用できます。これらのサービスを使用すると、この動作をDevOpsツールチェーンに統合することができます。
入門
REST APIは、Eggplant DAIのインストールが完了したらすぐに使用できます。APIへのアクセスを得るためには、以下の手順が必要です:
- 認証情報を送信する場所を確認します。
- 新しいエクスペリエンスを使用してユーザーインターフェースを介してAPIクライアント認証情報を生成します。DAI 6.2以降が必要です。
- アクセストークンを取得し、DAI REST APIで認証します。
アクセストークンを取得すると、Eggplant DAIウェブアプリで利用可能なすべてのオプションでモデルをテストすることができます。実行が開始されると、それを処理し続けることができます。戻されるIDを使用して、実行の進行状況を確認することができます。さらに、実行を中止することもできます。
APIクライアント認証情報の生成
管理者ユーザーはAPIクライアントを作成することができます。作成されたクライアントは、管理者ユーザーと同等の権限を持ち、管理者ユーザーが行えるほぼすべてのことを行うことができますが、さらにAPIクライアントを作成することはできません。
APIクライアントを作成するには:
- System > API Accessへ移動します。
- Add Newをクリックします。
- 資格情報の名前と説明を追加します。
- Createをクリックします。
- ファイルのダウンロードを求めるプロンプトが表示されます。Downloadをクリックし、認証情報
.csv
ファイルを安全な場所に保存します。
これで、資格情報ファイルからclient_id
、client_secret
、token_url
を使用してアクセストークンを取得することができ ます。
これらの資格情報をパスワードと同様に取り扱います。それらを安全に保管し、共有しないでください。API認証情報が紛失、漏洩、または忘れられた場合、APIアクセスインターフェースを通じて取り消すか再生成することができます。
認証情報を送信する場所
APIクライアント.csv
ファイルや実行環境.ini
をダウンロードした場合、ファイル内のtoken_url
値を見つけることができます。
任意のDAIインスタンスで以下の手順を行うことで、対象とするtoken_url
値を構築することもできます:
- DAIのログインページに移動します。
- アドレスバーからの値、以下の例では
login_url
をコピーします。 /auth
およびそれに続くすべてを/token
に置き換えます。
例:
login_url=http://localhost:8000/auth/realms/eggplant/protocol/openid-connect/auth?client_id=...
token_url=http://localhost:8000/auth/realms/eggplant/protocol/openid-connect/token
Eggplant Cloudの顧客の場合、レルム名は動的です。ドキュメントの残りの部分では、\{realm\}
と表記しますが、使用前にカスタム値に置き換える必要があります。
アクセストークンの取得と認証
以前のステップの資格情報を使用して、APIからアクセストークンを取得し、認証します。
token_url
にリク エストを送ります。
POST > http://localhost:8000/auth/realms/\{realm\}/protocol/openid-connect/token
Content-Type:application/x-www-form-urlencoded
リクエストボディ:
{
{
"grant_type": "client_credentials",
"client_id":"{あなたのクライアント識別子}",
}
例:成功したレスポンス
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia...",
"expires_in": 300,
"refresh_expires_in": 0,
"token_type": "Bearer",
"not-before-policy": 0,
"session_state": "4fcb07e1-eb73-42e7-b369-26c8db036f90",
"scope": "email template:dai:agents profile"
}
アクセストークンは5分間有効です。APIへのアクセスを維持するためには、アクセストークンの有効期限を確認し、元のトークンが有効期限切れになる前に再度資格情報を送信して新しいトークンを取得するか、401
のレスポンスが返されたときに行う必要があります。
使用可能なメソッド
以下のHTTPメソッドを使用して、Eggplant DAI APIエンドポイントにリクエストを送信します:
- GET はデータの要求に使用します
- POST は新しいレコードの作成に使用します
- PUT はレコードの更新に使用します
- DELETE はレコードの削除に使用します
この表には、モデルの実行の開始、監視、停止に関する個々のAPIメソッドの説明へのリンクが含まれています。
タイトル | URL | HTTPメソッド | 説明 |
---|---|---|---|
NEW Auth Method | http://localhost:8000/auth/realms/{realm}/protocol/openid-connect/token | POST | token_url エンドポイントはAPIのアクセストークンを返します。 |
NEW Start Model Execution | http://localhost:8000/execution_service/api/v1/executions | POST | モデルの実行を開始します。 |
List Run Details | http://localhost:8000/ai/runs | GET | 進行中のモデルの実行詳細を返します。 |
Get a List of all Agents | http://localhost:8000/ai/agents | POST | すべてのホストエージェントの詳細を返します。 |
NEW Abort Model Execution | http://localhost:8000/execution_service/api/v1/executions/{execution_status_id} | DELETE | モデルの実行を停止します。 |
モデルの実行に関する詳細な分析、例えば実行レポートの表示、カバレッジレポートの表示、テストケースの分析等については、Swagger docsを参照してください。